import request from "@/utils/request";

//获取所有歌曲列表
export function getSongs(query) {
 
  return request({
    url: "/query/all",
    method: "get",
    params: query
  });
}
//获取所有歌曲列表(模糊搜索）
export function fuzzySearch(query) {
  // let CancelToken = axios.CancelToken;
  // let axios_source = CancelToken.source();
  return request({
    url: "/query/allLike",
    method: "get",
    params: query,
    // cancelToken: axios_source.token // 这里声明的cancelToken其实相当于是一个标记，
    // 当我们要取消请求的时候，可以通过这个找到该请求
  });
}

//添加歌单
export function addSongList(data){
  return request({
    url: "/songlist/add",
    method: "post",
    data: data
  });
}

//删除歌单
export function delSongList(data){
  return request({
    url:"songlist/delete",
    method:"post",
    data:data
  })
}

//获取歌单
export function querySongList(query){
  return request({
    url: "/songlist/select/all",
    method: "get",
    params: query
  });
}

//将歌曲添加到歌单
export function addSongToList(data){
  return request({
    url:"/songListUser/add",
    method:"post",
    data:data
  })
}

//将歌曲从歌单中删除
export function delSongFromList(data){
  return request({
    url:"/songListUser/delete",
    method:"post",
    data:data
  })
}

//获取歌词
export function getLyricString(query){
  return request({
    url:"/query/lyric",
    method:"get",
    params:query
  })
}

//获取我喜欢的歌单
export function getMyFavorites(query){
  return request({
    url:"/favorite/selectFav",
    method:"get",
    params:query
  })
}

//添加到我喜欢的
export function addToMyFavorite(data){
  return request({
    url:"/favorite/add",
    method:"post",
    data:data
  })
}
//从我喜欢的删除
export function delFromMyFavorite(data){
  return request({
    url:"/favorite/delete",
    method:"post",
    data:data
  })
}

//搜索历史记录
export function getSearchHistory(query){
  return request({
    url:"/log/selectLog",
    method:"get",
    params:query
  })
}

//删除历史记录
export function delSearchHistory(data){
  return request({
    url:"/log/delete",
    method:"post",
    data:data
  })
}
//歌单中歌曲排序
export function sortSongsInList(data){
  return request({
    url:"/songListUser/updateswap",
    method:"post",
    data:data
  })
}
//获取歌手海报
export function getSingerPosterUrl(query){
  return request({
    url:"/singer/selectByName",
    method:"get",
    params:query
  })
}
//批量删除歌单中的歌
export function deleteBatchFromSongList(data){
  return request({
    url:"/songListUser/deleteBatch",
    method:"post",
    data:data
  })
}
//将歌曲批量增加到歌单
export function addBatchToSongList(data){
  return request({
    url:"/songListUser/addBatch",
    method:"post",
    data:data
  })
}